Method of reducing a blocking artifact when coding moving picture

ABSTRACT

A method of coding a moving picture is provided that reduces blocking artifacts. The method can include defining a plurality of defining pixels S 0 , S 1 , and S 2 , which are centered around a block boundary. If a default mode is selected then frequency information of the surroundings of the block boundary is obtained. A magnitude of a discontinuous component in a frequency domain belonging to the block boundary is adjusted based on a magnitude of a corresponding discontinuous component selected from a pixel contained entirely within a block adjacent the block boundary. The frequency domain adjustment is then applied to a spatial domain. Or, a DC offset mode can be selected to reduce blocking artifacts in smooth regions where there is little motion.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 11/619,893, filed on Jan. 4, 2007, which is a continuation of U.S. application Ser. No. 09/506,728, filed on Feb. 18, 2000, now U.S. Pat. No. 7,239,755, which is a continuation of U.S. application Ser. No. 09/010,446, filed on Jan. 22, 1998, now U.S. Pat. No. 6,028,967, which claims the benefit of a foreign priority application filed in KOREA on Jul. 30, 1997, as Ser. No. 36231/1997. This application claims priority to all of these applications, and all of these applications are incorporated by reference.

TECHNICAL FIELD

The present invention relates to a moving picture process, and in particular to a method for processing blocks of a moving picture to increase a compression ratio and to improve coding efficiency.

BACKGROUND

To efficiently compress a time variable video sequence, redundancy in the temporal domain as well as in the two dimensional spatial domain must be reduced. MPEG uses a discrete cosine transform (DCT) to reduce the redundancy in the two dimensional spatial domain and a motion compensation method to reduce the redundancy in the temporal domain.

The DCT is a method of reducing the correlativity between data through a two dimensional spatial transformation. Each block in a picture is spatially transformed using the DCT after the picture is divided into blocks. Data that has been spatially transformed tends to be driven to a certain direction. Only a group of the data driven in the certain direction is quantized and transmitted.

Pictures, which are consecutive in the temporal domain, form motions of a human being or an object at the center of the frame. This property is used to reduce the redundancy of the temporal domain in the motion compensation method. A volume of data to be transmitted can be minimized by taking out a similar region from the preceding picture to fill a corresponding region, which has not been changed (or has very little change), in the present picture. The operation of finding the most similar blocks between pictures is called a motion estimation. The displacement representing a degree of motion is called a motion vector. MPEG uses a motion compensation-DCT method so that the two methods combine.

When a compression technique is combined with a DCT algorithm, the DCT transform is usually performed after input data is sampled in a unit size of 8×8, and the transform coefficients are quantized with respect to a visual property using quantization values from a quantization table. Then, the data is compressed through a run length coding (RLC). The data processed with the DCT is converted from a spatial domain to a frequency domain and compressed through the quantization with respect to the visual property of human beings, not to be visually recognized. For example, since eyes of human beings are insensitive to a high frequency, a high frequency coefficient is quantized in a large step size. Thus, a quantization table is made according to external parameters, such as a display characteristic, watching distance, and noise, to perform an appropriate quantization.

For the quantized data, the data having a relatively high frequency is coded with a short code word. The quantized data having a low frequency is coded with a long code word. Thus, the data is finally compressed.

In processing a moving picture as discussed above, blocks are individually processed to maximize the compression ratio and coding efficiency. However, the individual process causes blocking artifacts that disturb the eyes of human beings at boundaries between blocks.

Accordingly, various methods for reducing a blocking artifact in a coding system, which individually processes blocks, are presented. For example, attempts to reduce the blocking artifact by changing processes of coding and decoding have been implemented. However, this method of changing the processes of coding and decoding increases the amount of bits to be transmitted.

Another method for reducing the blocking artifact is based on the theory of projection onto convex sets (POCS). However, this method is applied to only a still picture because of an iteration structure and convergence time.

The blocking artifact is a serious problem in a low transmit rate moving picture compression. Since a real-time operation is necessary in coding and decoding a moving picture, it is difficult to reduce the blocking artifact with a small operation capacity.

Consequently, the related art methods involve various problems and disadvantages when reducing a blocking artifact created in coding a moving picture. A calculation for performing an algorithm is complicated, and the calculation amount and time become correspondingly large. Further, the blocking artifacts are not reduced in either complex regions or smooth regions in a picture. In addition, the amount of bits to be transmitted increases.

The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.

SUMMARY

An object of the present invention is to provide a method for reducing a blocking artifact appearing when coding a moving picture that substantially obviates one or more of the limitations and disadvantages of the related art.

Another object of the present invention is to provide an MPEG-4 video coding method that reduces a blocking artifact in a real-time moving picture using a frequency property around boundaries between blocks.

A further object of the present invention is to provide a method for reducing a blocking artifact that increases a compression ration and increases a coding efficiency.

To achieve these and other advantages in whole or in parts, and in accordance with the purpose of the present invention as embodied and broadly described, a blocking artifact reduction method includes defining pixels centered around a block boundary and setting a default mode. Frequency information of the surroundings of the block boundary is obtained for each pixel using a 4-point kernel. A magnitude of a discontinuous component that belongs to the block boundary is adjusted in a frequency domain to a minimum value of a magnitude of a discontinuous component that belongs to the surrounding of the block boundary. The adjusting operation is then applied to a spatial domain. In addition, a DC offset mode is established, and in the DC offset mode the blocking artifact is also reduced, for example, in a smooth region where there is little motion.

Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.

DESCRIPTION OF DRAWINGS

The invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:

FIG. 1 is a diagram that illustrates horizontal and vertical block boundaries;

FIG. 2 is a diagram that illustrates a 4-point DCT kernel; and,

FIG. 3 is a flow chart that illustrates a preferred embodiment of a method that reduces a blocking artifact when coding a moving picture according to the present invention.

DETAILED DESCRIPTION

Reference will now be made to preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. FIG. 1 illustrates typical horizontal and vertical block boundaries.

As shown in FIG. 1, in the dimensional image formed with respective four points of S₀, S₁, and S₂ located around the block boundary, S₁ and S₂ are individually processed with a block-unit compression method. Thus, S₁ and S₂ are not influenced by the blocking artifact. However, S₀ is located across a block boundary. Thus, S₀ is directly influenced by the blocking artifact. The blocking artifact appears at the boundary between fixed block patterns in the form of a line of discontinuity.

Preferred embodiments of the present invention use, for example, a frequency property to preserve complex regions at block boundaries. The frequency property around the boundary is preferably obtained by using a 4-point DCT kernel, which can be easily calculated. However, the present invention is not intended to be limited to this. In this case, the complex region at a block boundary can be effectively processed by extending the smoothness of a picture from a frequency domain to a spatial domain.

As shown in FIG. 1, S₀ is located across the block boundary. Thus, S₀ is directly influenced by the blocking artifact. To reduce the blocking artifact from S₀, a first preferred embodiment of the present invention uses frequency information in S₁ and S₂. The blocking artifact can be removed from S₀ by replacing the frequency component in S₀, which is influenced by the blocking artifact, with the frequency components of S₁ and S₂. In other words, S₀ contains a discontinuity. However, S₁ and S₂, which are completely included inside respective blocks, are not related to the discontinuity. Since S₁ and S₂ are not involved with the discontinuity at a block boundary, S₁ and S₂ can accurately represent features of the respective neighboring blocks.

When images change smoothly, image features of S₀, S₁ and S₂ are similar. This means that frequency domains of S₀, S₁ and S₂ have similar features. The preferred embodiments use a DCT, or the like as a frequency analysis tool. DCT is widely used in an image compression technique.

FIG. 2 is a diagram illustrating a 4-point DCT basis. As shown in FIG. 2, the 4-point DCT kernel basis has symmetric and anti-symmetric properties around the center of 4 points. In FIG. 2, a_(0,0), a_(1,0), a_(2,0), and a_(3,0) are defined as the 4-point DCT coefficients of S₀. Although both a_(2,0), and a_(3,0) are high frequency components, a_(2,0) is symmetric, and a_(3,0) is anti-symmetric around the center.

The center of S₀ is located at a block boundary as shown in FIG. 1. Thus, a factor directly affecting the block discontinuity is not the symmetric component but the anti-symmetric component. The magnitude of a_(3,0) in a frequency domain is thus adjusted based on the anti-symmetric component being a major factor affecting the discontinuity. Accordingly, the proper adjustment of a_(3,0) is directly related to the reduction of block discontinuity in the spatial domain. Reduction of the block discontinuity will now be described.

In a first preferred embodiment, the magnitude of a_(3,0) is replaced with the minimum value of the magnitudes of a_(3,1) and a_(3,2), which are contained in a single block in an area surrounding a block boundary. By doing this, a large blocking artifact that appears when one side of the block boundary to be processed is smooth can be reduced. For a complex image where both S1 and S2 are the objects of motion (i.e., all the values of the magnitudes of a_(3,0), a_(3,1) and a_(3,2) are large), there is little influence on the block boundary.

A method for reducing a blocking artifact in a default mode is as follows: v ₃ ′=v ₃ −d; v ₄ ′=v ₄ +d; and d=CLIP(c ₂(a _(3,0) ′−a _(3,0))//c ₃,0, (v ₃ −v ₄)/2)*δ(|a _(3,0) |<QP).

In the method, a_(3,0)′=SIGN(a_(3,0))*MIN(|a_(3,0)|, |a_(3,1)|, |a_(3,2)|), and q is the component of DCT kernel. The condition |a_(3,0)|<QP is used to count the influence of the quantization parameter on the blocking artifact. The |a_(3,0)|<QP condition also prevents over-smoothing when the blocking artifact is not very serious. The clipping operation on the compensated value prevents the direction of the gradient at the boundary from being large or changed in an opposite direction. The boundary pixel values, v₃ and v₄, are replaced with v₃′ and v₄′. QP is the quantization parameter of the macroblock where v₄ belongs. Values, c₁, c₂, and c₃ are kernel constants used in the 4-point DCT. To simplify an equation according to a first preferred embodiment of the present invention, the values of c₁ and c₂ are approximated to an integer, and the value of c₃ is approximated to a multiple of 2. The values of a₁, a₂, and a₃ are evaluated from the simple inner product of the DCT kernel and pixels, S₀, S₁, and S₃. a _(3,0)=([c ₁ −c ₂ c ₂ −c ₁ ]*[v ₂ v ₃ v ₄ v ₅]^(T))/c ₃ a _(3,0)=([c ₁ −c ₂ c ₂ −c ₁ ]*[v ₀ v ₁ v ₂ v ₃]^(T))/c ₃ a _(3,0)=([c ₁ −c ₂ c ₂ −c ₁ ]*[v ₄ v ₅ v ₆ v ₇]^(T))/c ₃

Such processes are performed in both horizontal and vertical block boundaries. In this manner, the blocking artifacts in the whole frame can be reduced.

The first embodiment reduces a blocking artifact in the default mode. However, in the default mode, only the boundary pixel values, v₃ and a₄, are compensated. Thus, the default mode is not sufficient to reduce the blocking artifact in a very smooth region, such as a setting in a picture.

To reduce the blocking artifact in the smooth region, a second preferred embodiment of a method for reducing blocking artifacts in a moving picture according to the present invention includes a DC offset mode. The method in the DC offset mode is as follows: v ₃ ′=v ₃ −d; v ₄ ′=v ₄ +d; v ₂ ′=v ₂ −d ₂; v ₅ ′=v ₅ +d ₂; v ₁ ′=v ₁ −d ₃; and v ₆ ′=v ₆ +d ₃.

In the second preferred embodiment, d ₁=(3(v ₃ −v ₄)./8)*δ(|a _(3,0) |<QP), d ₂=(3(v ₃ −v ₄)./16)*δ(|a _(3,0) |<QP), and d ₃=(3(v ₃ −v ₄)./32)*δ(|a _(3,0) |<QP).

The blocking artifact in the region where there is little motion, or which is a very small setting, is reduced through the above-described method or the like in the DC offset mode. An appropriate mode between the DC offset mode and default mode can be determined using the following conditional expression: If (v ₀ ==v ₁&&v ₁ ==v ₂&&v ₂ ==v ₃&&v ₄ ==v ₅&&v ₅ ==v ₆&&v ₆ ==v ₇)

DC offset mode is applied; Else Default mode is applied.

When the DC offset mode or the default mode is selected according to the above conditional expression, the blocking artifacts are reduced in each mode. After determining the proper mode between the DC offset mode and the default mode, the block discontinuity at the boundary is compensated to form a consecutive line, which reduces the blocking artifact. In the second preferred embodiment, the DC offset mode and the default mode are set using S₀, S₁ and S₂. However, the present invention is not intended to be limited to this. Alternative sets of points or the like can be used.

An exemplary method for reducing a blocking artifact when coding a moving picture, according to the second preferred embodiment of the present invention, is described with reference to the flow chart shown in FIG. 3.

After beginning in FIG. 3, control continues to step 101. In step 101, a plurality of pixels, S0, S1, and S2 are defined centering around a block boundary. From step 101, control continues to step 102. In step 102, if a mode is selected, a default mode is set, and control continues to step 103.

In step 103, frequency information of the surroundings of the block boundary for each pixel is obtained using, for example, the 4-point DCT kernel. From step 103, control continues to step 104. In step 104, the magnitude of discontinuous component belonging to the block boundary is replaced with the minimum magnitude of the discontinuous components belonging to the surroundings of the block boundary in the frequency domain. From step 104, control continues to step 105, where the adjusting operation is applied to the spatial domain. The default mode is effective in reducing the blocking artifact in a complex region of a picture. However, the default mode is less successful in a smooth region such as a setting in a picture.

Therefore, in a smooth region it is necessary to reduce the blocking artifact in another mode, the DC offset mode. In step 106, the DC offset mode is established. From step 106, control continues to step 107. In step 107, the blocking artifact in the region where there is little motion, such as a setting, is reduced. From step 107, the process ends. Thus, the overall blocking artifacts can be reduced according to the preferred embodiments.

As described above, the blocking artifact reduction methods according to the preferred embodiments of the present invention have various advantages and effects. The blocking artifact is more easily and effectively reduced using features of the frequency domain. The preferred embodiments provide a visually finer quality of a picture by reducing the blocking artifacts in both the complex and smooth regions. Further, calculations are simple. Accordingly, the amount of bits does not increase.

The foregoing embodiments are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. 

1. A method of reducing a blocking artifact appearing when coding a picture, comprising: dividing the picture into blocks that each include multiple pixels, wherein the pixels of a first block are separated from pixels of a neighboring second block by a block boundary; selecting a correction mode using information from the first block and information from the second block, wherein the correction mode is selected from at least two correction modes; selecting a quantity of pixels to be adjusted based on the selected correction mode; and adjusting the selected quantity of pixels.
 2. The method of claim 1, wherein selecting the quantity of pixels to be adjusted further comprises: selecting at least two pixels to be adjusted if a first correction mode is selected; and selecting at least six pixels to be adjusted if a second correction mode is selected.
 3. The method of claim 1, wherein selecting the quantity of pixels to be adjusted further comprises: selecting no more than two pixels to be adjusted if a first correction mode is selected; and selecting no more than six pixels to be adjusted if a second correction mode is selected.
 4. The method of claim 1, wherein selecting the quantity of pixels to be adjusted further comprises: selecting exactly two pixels to be adjusted if a first correction mode is selected; and selecting exactly six pixels to be adjusted if a second correction mode is selected.
 5. The method of claim 4, wherein selecting the two pixels to be adjusted if the first correction mode is selected further comprises: selecting one pixel from the first block to be adjusted; and selecting one pixel from the second block to be adjusted.
 6. The method of claim 4, wherein selecting the six pixels to be adjusted if the second correction mode is selected further comprises: selecting three pixels from the first block to be adjusted; and selecting three pixels from the second block to be adjusted.
 7. The method of claim 1, wherein fewer pixels are selected to be adjusted if a first correction mode is selected than if a second correction mode is selected.
 8. The method of claim 1, further comprising applying the adjusting operation to a spatial domain of the selected quantity of pixels.
 9. The method of claim 1, wherein the block boundary is a vertical or horizontal block boundary.
 10. The method of claim 1, wherein a magnitude of the adjusting operation is based upon a simple inner product of a DCT kernel and the selected quantity of pixels.
 11. The method of claim 1, wherein a magnitude of the adjusting operation is based upon a minimum magnitude of frequency information of the selected quantity of pixels.
 12. The method of claim 1, wherein a magnitude of the adjusting operation is based upon frequency information of the selected quantity of pixels.
 13. The method of claim 1, wherein adjusting the selected quantity of pixels further comprises replacing a pixel value v₃ of a first pixel with a value v₃′, wherein the value v₃′ is expressed as: v ₃ ′=v ₃ −d, wherein d is expressed as: ${d = {{{CLIP}\left( {{{c_{2}\left( {a_{3,0}^{\prime} - a_{3,0}} \right)}//c_{3}},0,\frac{\left( {v_{3} - v_{4}} \right)}{2}} \right)}*{\delta\left( {{a_{3,0}} < {QP}} \right)}}},$ wherein a_(3,0)′ is expressed as: a _(3,0)′=SIGN(a _(3,0))*MIN(|a _(3,0) |,|a _(3,1) |,|a _(3,2)|), wherein QP represents a quantization parameter of the second block, c₂ and c₃ represent DCT kernel coefficients, and v₄ represents a pixel value of a neighboring second pixel.
 14. The method of claim 13, wherein δ(|a_(3,0)|<QP)=1 if |a_(3,0)|<QP, and wherein δ(|a_(3,0)|<QP)=0 if |a_(3,0)|≧QP.
 15. The method of claim 13, wherein c₂ is an integer and c₃ is a multiple of
 2. 16. The method of claim 15, wherein c₂=5 and c₃=8.
 17. The method of claim 13, further comprising adjusting the neighboring second pixel based upon frequency information of the first pixel.
 18. The method of claim 13, wherein a magnitude of the adjusting operation is constrained to be no greater than half of the difference between a value of the first pixel and a value of the second pixel, using a clipping function.
 19. The method of claim 13, further comprising obtaining the frequency information for the neighboring second pixel, wherein the first pixel is adjusted if a magnitude of the blocking artifact is less than a quantization parameter of the second block.
 20. An apparatus for reducing a blocking artifact appearing when coding a picture, the apparatus comprising: a blocking filter configured to: divide the picture into blocks that each include multiple pixels, wherein the pixels of a first block are separated from pixels of a neighboring second block by a block boundary, select a correction mode using information from the first block and information from the second block, wherein the correction mode is selected from at least two correction modes, select a quantity of pixels to be adjusted based on the selected correction mode, and adjust the selected quantity of pixels. 